//111网络模块核心代码 

//导入
import { Method } from "./config"
import axios from 'axios'

//创建axios实例
const instance = axios.create({
    //公共地址 + 拼接地址
    baseURL: "http://api.kudesoft.cn/tdk",//发送请求时，会在url前拼接baseurl
    timeout: 5000,//超出时间请求不到数据

    //设置axios为form-data
    headers: { 'Content-Type': 'application/x-www-form-urlencoded' },
    transformRequest: [function (data) {
        let ret = ''
        for (let it in data) {
            ret += encodeURIComponent(it) + '=' + encodeURIComponent(data[it]) + '&'
        }
        return ret
    }]
})



// // 创建loading实例
// var loading = null;
// // 添加请求拦截器
// intance.interceptors.request.use(function (config) {
//   loading = Loading.service({
//     lock: true,
//     text: 'Loading',
//     spinner: 'el-icon-loading',
//     background: 'rgba(0, 0, 0, 0.7)'
//   });
//   return config;
// }, function (error) {
//   // 对请求错误做些什么
//   Message(error);
//   console.log("========>",error);
//   return Promise.reject(error);
// });

// // 添加响应拦截器
// intance.interceptors.response.use(function (response) {
//   // 对响应数据做点什么
//   setTimeout(() => {
//     loading.close();
//   }, 2000);
//   return response;
// }, function (error) {
//   // 对响应错误做点什么
//   Message(error);
//   console.log("========>",error);
//   return Promise.reject(error);
// });


//三个参数：请求方式、路径、传递的参数
export function request(method, url, params) {
    switch (method) {
        case Method.GET:
            return get(url, params)//在此调用下面get函数
        case Method.POST:
            return post(url, params)//在此调用下面post函数
    }
}

//核心请求方式
function get(url, params) {
    return instance.get(url, params)
}

function post(url, params) {
    return instance.post(url, params);
}